import request from '../utils/request';

// 用户相关API
export const userApi = {
  // 用户登录
  login(data) {
    const userType = data.user_type || 'student';
    const url = userType === 'enterprise' ? '/enterprise/login' : '/student/login';
    return request({
      url: url,
      method: 'post',
      data
    });
  },

  // 用户注册
  register(data) {
    return request({
      url: '/api/auth/register',
      method: 'post',
      data
    });
  },

  // 验证邮箱
  verifyEmail(token) {
    return request({
      url: '/api/auth/verify-email',
      method: 'post',
      data: { token }
    });
  },

  // 重新发送验证邮件
  resendVerificationEmail(data) {
    return request({
      url: '/api/auth/resend-verification',
      method: 'post',
      data
    });
  },

  // 忘记密码 - 发送重置链接
  forgotPassword(data) {
    return request({
      url: '/api/auth/forgot-password',
      method: 'post',
      data
    });
  },

  // 重置密码
  resetPassword(data) {
    return request({
      url: '/api/auth/reset-password',
      method: 'post',
      data
    });
  },

  // 用户登出
  logout() {
    return request({
      url: '/api/auth/logout',
      method: 'post'
    });
  },

  // 获取用户信息
  getUserInfo() {
    return request({
      url: '/api/user/profile',
      method: 'get'
    });
  },

  // 更新用户信息
  updateUserInfo(data) {
    return request({
      url: '/api/user/profile',
      method: 'put',
      data
    });
  },

  // 修改密码
  changePassword(data) {
    return request({
      url: '/api/user/change-password',
      method: 'post',
      data
    });
  },

  // 检查邮箱是否已注册
  checkEmail(email) {
    return request({
      url: '/api/auth/check-email',
      method: 'get',
      params: { email }
    });
  },

  // 获取登录历史
  getLoginHistory() {
    return request({
      url: '/api/user/login-history',
      method: 'get'
    });
  },

  // 获取账户状态
  getAccountStatus() {
    return request({
      url: '/api/user/account-status',
      method: 'get'
    });
  },

  // 重新发送激活邮件（新接口）
  sendActivationCode(data) {
    return request({
      url: '/user/sendCode',
      method: 'post',
      data
    });
  },

  // 学生激活注册接口
  activateRegister(data) {
    return request({
      url: '/student/activate_register',
      method: 'post',
      data
    });
  },

  // 检测邮箱激活状态
  checkActivationStatus(data) {
    return request({
      url: '/user/check-activation-status',
      method: 'get',
      params: data
    });
  },

  // 学生输入注册信息
  inputRegister(data) {
    return request({
      url: '/student/input_register',
      method: 'post',
      data
    });
  }
};

// 策略相关API
export const policyApi = {
  // 获取最新用户协议
  getLatest(type) {
    return request({
      url: `/api/policy/${type}/latest`,
      method: 'get'
    });
  },

  // 获取指定版本的政策
  getPolicyVersion(type, version) {
    return request({
      url: `/api/policy/${type}/version/${version}`,
      method: 'get'
    });
  },

  // 获取政策列表
  getPolicyList(type) {
    return request({
      url: `/api/policy/${type}/list`,
      method: 'get'
    });
  }
};

// 系统相关API
export const systemApi = {
  // 获取系统配置
  getConfig() {
    return request({
      url: '/api/system/config',
      method: 'get'
    });
  },

  // 获取多语言配置
  getLanguages() {
    return request({
      url: '/api/system/languages',
      method: 'get'
    });
  },

  // 获取验证码
  getCaptcha() {
    return request({
      url: '/api/system/captcha',
      method: 'get'
    });
  },

  // 验证验证码
  verifyCaptcha(data) {
    return request({
      url: '/api/system/verify-captcha',
      method: 'post',
      data
    });
  }
};

export default {
  userApi,
  policyApi,
  systemApi
}; 